package com.fand.platform.authority.dao;

import java.util.List;
import java.util.Map;

import com.fand.dto.PaginationDto;
import com.fand.platform.authority.dto.UserGrBuArDto;
import com.fand.platform.authority.dto.UserGrBuArLoDto;
import com.fand.platform.authority.dto.UserGrDeDto;
import com.fand.platform.authority.dto.UserGrDeLoDto;
import com.fand.platform.authority.dto.UserGrDto;
import com.fand.platform.authority.dto.UserGrLoDto;
import com.fand.platform.authority.dto.UserGrRoDto;
import com.fand.platform.authority.dto.UserGrRoLoDto;
import com.fand.platform.authority.dto.UserGrUsDto;
import com.fand.platform.authority.dto.UserGrUsLoDto;

/**
 * 用户组
 * 
 * @author yaoHT
 * 
 */
public interface UserGrDao {
	String BEAN_ID = "com.fand.platform.authority.dao.UserGrDao";

	/**
	 * 插入:用户组
	 * 
	 * @param insertUserGr
	 *            用户组对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertUserGrBy1(UserGrDto insertUserGr, String... insertProperties);

	/**
	 * 插入:用户组
	 * 
	 * @param insertUserGr
	 *            用户组对象
	 * 
	 * @return 影响行数
	 */
	int insertUserGrBy1_1(UserGrDto insertUserGr);

	/**
	 * 插入:用户组
	 * 
	 * @param insertUserGr
	 *            用户组对象
	 * 
	 * @return 影响行数
	 */
	int insertUserGrBy2(UserGrDto insertUserGr);

	/**
	 * 删除:用户组
	 * 
	 * @param deleteUserGr
	 *            用户组对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrBy1(UserGrDto deleteUserGr, String... whereEqProperties);

	/**
	 * 删除:用户组
	 * 
	 * @param deleteUserGr
	 *            用户组对象
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrBy1_1(UserGrDto deleteUserGr);

	/**
	 * 删除:用户组
	 * 
	 * @param deleteUserGr
	 *            用户组对象
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrBy2(UserGrDto deleteUserGr);

	/**
	 * 更新:用户组
	 * 
	 * @param updateUserGr
	 *            用户组对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateUserGrBy1(UserGrDto updateUserGr, String[] updateProperties, String... whereEqProperties);

	/**
	 * 更新:用户组
	 * 
	 * @param updateUserGr
	 *            用户组对象
	 * 
	 * @return 影响行数
	 */
	int updateUserGrBy1_1(UserGrDto updateUserGr);

	/**
	 * 更新:用户组
	 * 
	 * @param updateUserGr
	 *            用户组对象
	 * 
	 * @return 影响行数
	 */
	int updateUserGrBy2(UserGrDto updateUserGr);

	/**
	 * 查询:用户组
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGr
	 *            用户组对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBy1ForObject(Class<R> requiredType, UserGrDto selectUserGr, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGr
	 *            用户组对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBy1_1ForObject(Class<R> requiredType, UserGrDto selectUserGr, String objectId);

	/**
	 * 查询:用户组
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGr
	 *            用户组对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBy2ForObject(Class<R> requiredType, UserGrDto selectUserGr, String objectId);

	/**
	 * 查询:用户组
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGr
	 *            用户组对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组对象集合
	 */
	<R> List<R> selectUserGrBy1ForObjectList(Class<R> requiredType, UserGrDto selectUserGr, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGr
	 *            用户组对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 用户组对象集合
	 */
	<R> List<R> selectUserGrBy1_1ForObjectList(Class<R> requiredType, UserGrDto selectUserGr, String objectId);

	/**
	 * 查询:用户组
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGr
	 *            用户组对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 用户组对象集合
	 */
	<R> List<R> selectUserGrBy2ForObjectList(Class<R> requiredType, UserGrDto selectUserGr, String objectId);

	/**
	 * 查询:用户组
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGr
	 *            用户组对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBy1ForMappedObject(Class<R> mappedClass, UserGrDto selectUserGr, String[] selectProperties,
			String... whereEqProperties);

	/**
	 * 查询:用户组
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGr
	 *            用户组对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBy1_1ForMappedObject(Class<R> mappedClass, UserGrDto selectUserGr);

	/**
	 * 查询:用户组
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGr
	 *            用户组对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBy2ForMappedObject(Class<R> mappedClass, UserGrDto selectUserGr);

	/**
	 * 查询:用户组
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGr
	 *            用户组对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组对象集合
	 */
	<R> List<R> selectUserGrBy1ForMappedObjectList(Class<R> mappedClass, UserGrDto selectUserGr,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGr
	 *            用户组对象
	 * 
	 * @return 用户组对象集合
	 */
	<R> List<R> selectUserGrBy1_1ForMappedObjectList(Class<R> mappedClass, UserGrDto selectUserGr);

	/**
	 * 查询:用户组
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGr
	 *            用户组对象
	 * 
	 * @return 用户组对象集合
	 */
	<R> List<R> selectUserGrBy2ForMappedObjectList(Class<R> mappedClass, UserGrDto selectUserGr);

	/**
	 * 分页:用户组
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param paginationUserGr
	 *            用户组对象
	 * 
	 * @return 用户组分页对象
	 */
	<R> PaginationDto<R> paginationUserGrBy1ForMappedObjectList(final Class<R> mappedClass,
			UserGrDto paginationUserGr);

	/**
	 * 分页
	 * 
	 * @param paginationUserGr
	 *            用户组对象
	 * 
	 * @return 用户组分页对象
	 */
	PaginationDto<Map<String, Object>> paginationUserGrBy1ForMapList(UserGrDto paginationUserGr);

	/**
	 * 插入:用户组日志
	 * 
	 * @param insertUserGrLo
	 *            用户组日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertUserGrLoBy1(UserGrLoDto insertUserGrLo, String... insertProperties);

	/**
	 * 删除:用户组日志
	 * 
	 * @param deleteUserGrLo
	 *            用户组日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrLoBy1(UserGrLoDto deleteUserGrLo, String... whereEqProperties);

	/**
	 * 更新:用户组日志
	 * 
	 * @param updateUserGrLo
	 *            用户组日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateUserGrLoBy1(UserGrLoDto updateUserGrLo, String[] updateProperties, String... whereEqProperties);

	/**
	 * 查询:用户组日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrLo
	 *            用户组日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrLoBy1ForObject(Class<R> requiredType, UserGrLoDto selectUserGrLo, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrLo
	 *            用户组日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组日志对象集合
	 */
	<R> List<R> selectUserGrLoBy1ForObjectList(Class<R> requiredType, UserGrLoDto selectUserGrLo, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrLo
	 *            用户组日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrLoBy1ForMappedObject(Class<R> mappedClass, UserGrLoDto selectUserGrLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrLo
	 *            用户组日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组日志对象集合
	 */
	<R> List<R> selectUserGrLoBy1ForMappedObjectList(Class<R> mappedClass, UserGrLoDto selectUserGrLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:用户组与部门
	 * 
	 * @param insertUserGrDe
	 *            用户组与部门对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertUserGrDeBy1(UserGrDeDto insertUserGrDe, String... insertProperties);

	/**
	 * 删除:用户组与部门
	 * 
	 * @param deleteUserGrDe
	 *            用户组与部门对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrDeBy1(UserGrDeDto deleteUserGrDe, String... whereEqProperties);

	/**
	 * 更新:用户组与部门
	 * 
	 * @param updateUserGrDe
	 *            用户组与部门对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateUserGrDeBy1(UserGrDeDto updateUserGrDe, String[] updateProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与部门
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrDe
	 *            用户组与部门对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrDeBy1ForObject(Class<R> requiredType, UserGrDeDto selectUserGrDe, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组与部门
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrDe
	 *            用户组与部门对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与部门对象集合
	 */
	<R> List<R> selectUserGrDeBy1ForObjectList(Class<R> requiredType, UserGrDeDto selectUserGrDe, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组与部门
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrDe
	 *            用户组与部门对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrDeBy1ForMappedObject(Class<R> mappedClass, UserGrDeDto selectUserGrDe,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与部门
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrDe
	 *            用户组与部门对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与部门对象集合
	 */
	<R> List<R> selectUserGrDeBy1ForMappedObjectList(Class<R> mappedClass, UserGrDeDto selectUserGrDe,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:用户组与部门日志
	 * 
	 * @param insertUserGrDeLo
	 *            用户组与部门日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertUserGrDeLoBy1(UserGrDeLoDto insertUserGrDeLo, String... insertProperties);

	/**
	 * 删除:用户组与部门日志
	 * 
	 * @param deleteUserGrDeLo
	 *            用户组与部门日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrDeLoBy1(UserGrDeLoDto deleteUserGrDeLo, String... whereEqProperties);

	/**
	 * 更新:用户组与部门日志
	 * 
	 * @param updateUserGrDeLo
	 *            用户组与部门日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateUserGrDeLoBy1(UserGrDeLoDto updateUserGrDeLo, String[] updateProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与部门日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrDeLo
	 *            用户组与部门日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrDeLoBy1ForObject(Class<R> requiredType, UserGrDeLoDto selectUserGrDeLo, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组与部门日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrDeLo
	 *            用户组与部门日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与部门日志对象集合
	 */
	<R> List<R> selectUserGrDeLoBy1ForObjectList(Class<R> requiredType, UserGrDeLoDto selectUserGrDeLo,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:用户组与部门日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrDeLo
	 *            用户组与部门日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrDeLoBy1ForMappedObject(Class<R> mappedClass, UserGrDeLoDto selectUserGrDeLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与部门日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrDeLo
	 *            用户组与部门日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与部门日志对象集合
	 */
	<R> List<R> selectUserGrDeLoBy1ForMappedObjectList(Class<R> mappedClass, UserGrDeLoDto selectUserGrDeLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:用户组与业务范围
	 * 
	 * @param insertUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertUserGrBuArBy1(UserGrBuArDto insertUserGrBuAr, String... insertProperties);

	/**
	 * 插入:用户组与业务范围
	 * 
	 * @param insertUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @return 影响行数
	 */
	int insertUserGrBuArBy1_1(UserGrBuArDto insertUserGrBuAr);

	/**
	 * 插入:用户组与业务范围
	 * 
	 * @param insertUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @return 影响行数
	 */
	int insertUserGrBuArBy2(UserGrBuArDto insertUserGrBuAr);

	/**
	 * 删除:用户组与业务范围
	 * 
	 * @param deleteUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrBuArBy1(UserGrBuArDto deleteUserGrBuAr, String... whereEqProperties);

	/**
	 * 删除:用户组与业务范围
	 * 
	 * @param deleteUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrBuArBy1_1(UserGrBuArDto deleteUserGrBuAr);

	/**
	 * 删除:用户组与业务范围
	 * 
	 * @param deleteUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrBuArBy2(UserGrBuArDto deleteUserGrBuAr);

	/**
	 * 更新:用户组与业务范围
	 * 
	 * @param updateUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateUserGrBuArBy1(UserGrBuArDto updateUserGrBuAr, String[] updateProperties, String... whereEqProperties);

	/**
	 * 更新:用户组与业务范围
	 * 
	 * @param updateUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @return 影响行数
	 */
	int updateUserGrBuArBy1_1(UserGrBuArDto updateUserGrBuAr);

	/**
	 * 更新:用户组与业务范围
	 * 
	 * @param updateUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @return 影响行数
	 */
	int updateUserGrBuArBy2(UserGrBuArDto updateUserGrBuAr);

	/**
	 * 查询:用户组与业务范围
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBuArBy1ForObject(Class<R> requiredType, UserGrBuArDto selectUserGrBuAr, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组与业务范围
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBuArBy1_1ForObject(Class<R> requiredType, UserGrBuArDto selectUserGrBuAr, String objectId);

	/**
	 * 查询:用户组与业务范围
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBuArBy2ForObject(Class<R> requiredType, UserGrBuArDto selectUserGrBuAr, String objectId);

	/**
	 * 查询:用户组与业务范围
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与业务范围对象集合
	 */
	<R> List<R> selectUserGrBuArBy1ForObjectList(Class<R> requiredType, UserGrBuArDto selectUserGrBuAr,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:用户组与业务范围
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 用户组与业务范围对象集合
	 */
	<R> List<R> selectUserGrBuArBy1_1ForObjectList(Class<R> requiredType, UserGrBuArDto selectUserGrBuAr,
			String objectId);

	/**
	 * 查询:用户组与业务范围
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 用户组与业务范围对象集合
	 */
	<R> List<R> selectUserGrBuArBy2ForObjectList(Class<R> requiredType, UserGrBuArDto selectUserGrBuAr,
			String objectId);

	/**
	 * 查询:用户组与业务范围
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBuArBy1ForMappedObject(Class<R> mappedClass, UserGrBuArDto selectUserGrBuAr,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与业务范围
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBuArBy1_1ForMappedObject(Class<R> mappedClass, UserGrBuArDto selectUserGrBuAr);

	/**
	 * 查询:用户组与业务范围
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBuArBy2ForMappedObject(Class<R> mappedClass, UserGrBuArDto selectUserGrBuAr);

	/**
	 * 查询:用户组与业务范围
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与业务范围对象集合
	 */
	<R> List<R> selectUserGrBuArBy1ForMappedObjectList(Class<R> mappedClass, UserGrBuArDto selectUserGrBuAr,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与业务范围
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @return 用户组与业务范围对象集合
	 */
	<R> List<R> selectUserGrBuArBy1_1ForMappedObjectList(Class<R> mappedClass, UserGrBuArDto selectUserGrBuAr);

	/**
	 * 查询:用户组与业务范围
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @return 用户组与业务范围对象集合
	 */
	<R> List<R> selectUserGrBuArBy2ForMappedObjectList(Class<R> mappedClass, UserGrBuArDto selectUserGrBuAr);

	/**
	 * 分页:用户组与业务范围
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param paginationUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @return 用户组与业务范围分页对象
	 */
	<R> PaginationDto<R> paginationUserGrBuArBy1ForMappedObjectList(final Class<R> mappedClass,
			UserGrBuArDto paginationUserGrBuAr);

	/**
	 * 分页
	 * 
	 * @param paginationUserGrBuAr
	 *            用户组与业务范围对象
	 * 
	 * @return 用户组与业务范围分页对象
	 */
	PaginationDto<Map<String, Object>> paginationUserGrBuArBy1ForMapList(UserGrBuArDto paginationUserGrBuAr);

	/**
	 * 插入:用户组与业务范围日志
	 * 
	 * @param insertUserGrBuArLo
	 *            用户组与业务范围日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertUserGrBuArLoBy1(UserGrBuArLoDto insertUserGrBuArLo, String... insertProperties);

	/**
	 * 删除:用户组与业务范围日志
	 * 
	 * @param deleteUserGrBuArLo
	 *            用户组与业务范围日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrBuArLoBy1(UserGrBuArLoDto deleteUserGrBuArLo, String... whereEqProperties);

	/**
	 * 更新:用户组与业务范围日志
	 * 
	 * @param updateUserGrBuArLo
	 *            用户组与业务范围日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateUserGrBuArLoBy1(UserGrBuArLoDto updateUserGrBuArLo, String[] updateProperties,
			String... whereEqProperties);

	/**
	 * 查询:用户组与业务范围日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrBuArLo
	 *            用户组与业务范围日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBuArLoBy1ForObject(Class<R> requiredType, UserGrBuArLoDto selectUserGrBuArLo, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组与业务范围日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrBuArLo
	 *            用户组与业务范围日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与业务范围日志对象集合
	 */
	<R> List<R> selectUserGrBuArLoBy1ForObjectList(Class<R> requiredType, UserGrBuArLoDto selectUserGrBuArLo,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:用户组与业务范围日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrBuArLo
	 *            用户组与业务范围日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrBuArLoBy1ForMappedObject(Class<R> mappedClass, UserGrBuArLoDto selectUserGrBuArLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与业务范围日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrBuArLo
	 *            用户组与业务范围日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与业务范围日志对象集合
	 */
	<R> List<R> selectUserGrBuArLoBy1ForMappedObjectList(Class<R> mappedClass, UserGrBuArLoDto selectUserGrBuArLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:用户组与角色
	 * 
	 * @param insertUserGrRo
	 *            用户组与角色对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertUserGrRoBy1(UserGrRoDto insertUserGrRo, String... insertProperties);

	/**
	 * 插入:用户组与角色
	 * 
	 * @param insertUserGrRo
	 *            用户组与角色对象
	 * 
	 * @return 影响行数
	 */
	int insertUserGrRoBy1_1(UserGrRoDto insertUserGrRo);

	/**
	 * 插入:用户组与角色
	 * 
	 * @param insertUserGrRo
	 *            用户组与角色对象
	 * 
	 * @return 影响行数
	 */
	int insertUserGrRoBy2(UserGrRoDto insertUserGrRo);

	/**
	 * 删除:用户组与角色
	 * 
	 * @param deleteUserGrRo
	 *            用户组与角色对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrRoBy1(UserGrRoDto deleteUserGrRo, String... whereEqProperties);

	/**
	 * 删除:用户组与角色
	 * 
	 * @param deleteUserGrRo
	 *            用户组与角色对象
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrRoBy1_1(UserGrRoDto deleteUserGrRo);

	/**
	 * 删除:用户组与角色
	 * 
	 * @param deleteUserGrRo
	 *            用户组与角色对象
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrRoBy2(UserGrRoDto deleteUserGrRo);

	/**
	 * 更新:用户组与角色
	 * 
	 * @param updateUserGrRo
	 *            用户组与角色对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateUserGrRoBy1(UserGrRoDto updateUserGrRo, String[] updateProperties, String... whereEqProperties);

	/**
	 * 更新:用户组与角色
	 * 
	 * @param updateUserGrRo
	 *            用户组与角色对象
	 * 
	 * @return 影响行数
	 */
	int updateUserGrRoBy1_1(UserGrRoDto updateUserGrRo);

	/**
	 * 更新:用户组与角色
	 * 
	 * @param updateUserGrRo
	 *            用户组与角色对象
	 * 
	 * @return 影响行数
	 */
	int updateUserGrRoBy2(UserGrRoDto updateUserGrRo);

	/**
	 * 查询:用户组与角色
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrRo
	 *            用户组与角色对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrRoBy1ForObject(Class<R> requiredType, UserGrRoDto selectUserGrRo, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组与角色
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrRo
	 *            用户组与角色对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrRoBy1_1ForObject(Class<R> requiredType, UserGrRoDto selectUserGrRo, String objectId);

	/**
	 * 查询:用户组与角色
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrRo
	 *            用户组与角色对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrRoBy2ForObject(Class<R> requiredType, UserGrRoDto selectUserGrRo, String objectId);

	/**
	 * 查询:用户组与角色
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrRo
	 *            用户组与角色对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与角色对象集合
	 */
	<R> List<R> selectUserGrRoBy1ForObjectList(Class<R> requiredType, UserGrRoDto selectUserGrRo, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组与角色
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrRo
	 *            用户组与角色对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 用户组与角色对象集合
	 */
	<R> List<R> selectUserGrRoBy1_1ForObjectList(Class<R> requiredType, UserGrRoDto selectUserGrRo, String objectId);

	/**
	 * 查询:用户组与角色
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrRo
	 *            用户组与角色对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 用户组与角色对象集合
	 */
	<R> List<R> selectUserGrRoBy2ForObjectList(Class<R> requiredType, UserGrRoDto selectUserGrRo, String objectId);

	/**
	 * 查询:用户组与角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrRo
	 *            用户组与角色对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrRoBy1ForMappedObject(Class<R> mappedClass, UserGrRoDto selectUserGrRo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrRo
	 *            用户组与角色对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrRoBy1_1ForMappedObject(Class<R> mappedClass, UserGrRoDto selectUserGrRo);

	/**
	 * 查询:用户组与角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrRo
	 *            用户组与角色对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrRoBy2ForMappedObject(Class<R> mappedClass, UserGrRoDto selectUserGrRo);

	/**
	 * 查询:用户组与角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrRo
	 *            用户组与角色对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与角色对象集合
	 */
	<R> List<R> selectUserGrRoBy1ForMappedObjectList(Class<R> mappedClass, UserGrRoDto selectUserGrRo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrRo
	 *            用户组与角色对象
	 * 
	 * @return 用户组与角色对象集合
	 */
	<R> List<R> selectUserGrRoBy1_1ForMappedObjectList(Class<R> mappedClass, UserGrRoDto selectUserGrRo);

	/**
	 * 查询:用户组与角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrRo
	 *            用户组与角色对象
	 * 
	 * @return 用户组与角色对象集合
	 */
	<R> List<R> selectUserGrRoBy2ForMappedObjectList(Class<R> mappedClass, UserGrRoDto selectUserGrRo);

	/**
	 * 分页:用户组与角色
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param paginationUserGrRo
	 *            用户组与角色对象
	 * 
	 * @return 用户组与角色分页对象
	 */
	<R> PaginationDto<R> paginationUserGrRoBy1ForMappedObjectList(final Class<R> mappedClass,
			UserGrRoDto paginationUserGrRo);

	/**
	 * 分页
	 * 
	 * @param paginationUserGrRo
	 *            用户组与角色对象
	 * 
	 * @return 用户组与角色分页对象
	 */
	PaginationDto<Map<String, Object>> paginationUserGrRoBy1ForMapList(UserGrRoDto paginationUserGrRo);

	/**
	 * 插入:用户组与角色日志
	 * 
	 * @param insertUserGrRoLo
	 *            用户组与角色日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertUserGrRoLoBy1(UserGrRoLoDto insertUserGrRoLo, String... insertProperties);

	/**
	 * 删除:用户组与角色日志
	 * 
	 * @param deleteUserGrRoLo
	 *            用户组与角色日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrRoLoBy1(UserGrRoLoDto deleteUserGrRoLo, String... whereEqProperties);

	/**
	 * 更新:用户组与角色日志
	 * 
	 * @param updateUserGrRoLo
	 *            用户组与角色日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateUserGrRoLoBy1(UserGrRoLoDto updateUserGrRoLo, String[] updateProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与角色日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrRoLo
	 *            用户组与角色日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrRoLoBy1ForObject(Class<R> requiredType, UserGrRoLoDto selectUserGrRoLo, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组与角色日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrRoLo
	 *            用户组与角色日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与角色日志对象集合
	 */
	<R> List<R> selectUserGrRoLoBy1ForObjectList(Class<R> requiredType, UserGrRoLoDto selectUserGrRoLo,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:用户组与角色日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrRoLo
	 *            用户组与角色日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrRoLoBy1ForMappedObject(Class<R> mappedClass, UserGrRoLoDto selectUserGrRoLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与角色日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrRoLo
	 *            用户组与角色日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与角色日志对象集合
	 */
	<R> List<R> selectUserGrRoLoBy1ForMappedObjectList(Class<R> mappedClass, UserGrRoLoDto selectUserGrRoLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 插入:用户组与用户
	 * 
	 * @param insertUserGrUs
	 *            用户组与用户对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertUserGrUsBy1(UserGrUsDto insertUserGrUs, String... insertProperties);

	/**
	 * 插入:用户组与用户
	 * 
	 * @param insertUserGrUs
	 *            用户组与用户对象
	 * 
	 * @return 影响行数
	 */
	int insertUserGrUsBy1_1(UserGrUsDto insertUserGrUs);

	/**
	 * 插入:用户组与用户
	 * 
	 * @param insertUserGrUs
	 *            用户组与用户对象
	 * 
	 * @return 影响行数
	 */
	int insertUserGrUsBy2(UserGrUsDto insertUserGrUs);

	/**
	 * 删除:用户组与用户
	 * 
	 * @param deleteUserGrUs
	 *            用户组与用户对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrUsBy1(UserGrUsDto deleteUserGrUs, String... whereEqProperties);

	/**
	 * 删除:用户组与用户
	 * 
	 * @param deleteUserGrUs
	 *            用户组与用户对象
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrUsBy1_1(UserGrUsDto deleteUserGrUs);

	/**
	 * 删除:用户组与用户
	 * 
	 * @param deleteUserGrUs
	 *            用户组与用户对象
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrUsBy2(UserGrUsDto deleteUserGrUs);

	/**
	 * 更新:用户组与用户
	 * 
	 * @param updateUserGrUs
	 *            用户组与用户对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateUserGrUsBy1(UserGrUsDto updateUserGrUs, String[] updateProperties, String... whereEqProperties);

	/**
	 * 更新:用户组与用户
	 * 
	 * @param updateUserGrUs
	 *            用户组与用户对象
	 * 
	 * @return 影响行数
	 */
	int updateUserGrUsBy1_1(UserGrUsDto updateUserGrUs);

	/**
	 * 更新:用户组与用户
	 * 
	 * @param updateUserGrUs
	 *            用户组与用户对象
	 * 
	 * @return 影响行数
	 */
	int updateUserGrUsBy2(UserGrUsDto updateUserGrUs);

	/**
	 * 查询:用户组与用户
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrUs
	 *            用户组与用户对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrUsBy1ForObject(Class<R> requiredType, UserGrUsDto selectUserGrUs, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组与用户
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrUs
	 *            用户组与用户对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrUsBy1_1ForObject(Class<R> requiredType, UserGrUsDto selectUserGrUs, String objectId);

	/**
	 * 查询:用户组与用户
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrUs
	 *            用户组与用户对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrUsBy2ForObject(Class<R> requiredType, UserGrUsDto selectUserGrUs, String objectId);

	/**
	 * 查询:用户组与用户
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrUs
	 *            用户组与用户对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与用户对象集合
	 */
	<R> List<R> selectUserGrUsBy1ForObjectList(Class<R> requiredType, UserGrUsDto selectUserGrUs, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组与用户
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrUs
	 *            用户组与用户对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 用户组与用户对象集合
	 */
	<R> List<R> selectUserGrUsBy1_1ForObjectList(Class<R> requiredType, UserGrUsDto selectUserGrUs, String objectId);

	/**
	 * 查询:用户组与用户
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrUs
	 *            用户组与用户对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @return 用户组与用户对象集合
	 */
	<R> List<R> selectUserGrUsBy2ForObjectList(Class<R> requiredType, UserGrUsDto selectUserGrUs, String objectId);

	/**
	 * 查询:用户组与用户
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrUs
	 *            用户组与用户对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrUsBy1ForMappedObject(Class<R> mappedClass, UserGrUsDto selectUserGrUs,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与用户
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrUs
	 *            用户组与用户对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrUsBy1_1ForMappedObject(Class<R> mappedClass, UserGrUsDto selectUserGrUs);

	/**
	 * 查询:用户组与用户
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrUs
	 *            用户组与用户对象
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrUsBy2ForMappedObject(Class<R> mappedClass, UserGrUsDto selectUserGrUs);

	/**
	 * 查询:用户组与用户
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrUs
	 *            用户组与用户对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与用户对象集合
	 */
	<R> List<R> selectUserGrUsBy1ForMappedObjectList(Class<R> mappedClass, UserGrUsDto selectUserGrUs,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与用户
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrUs
	 *            用户组与用户对象
	 * 
	 * @return 用户组与用户对象集合
	 */
	<R> List<R> selectUserGrUsBy1_1ForMappedObjectList(Class<R> mappedClass, UserGrUsDto selectUserGrUs);

	/**
	 * 查询:用户组与用户
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrUs
	 *            用户组与用户对象
	 * 
	 * @return 用户组与用户对象集合
	 */
	<R> List<R> selectUserGrUsBy2ForMappedObjectList(Class<R> mappedClass, UserGrUsDto selectUserGrUs);

	/**
	 * 分页:用户组与用户
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param paginationUserGrUs
	 *            用户组与用户对象
	 * 
	 * @return 用户组与用户分页对象
	 */
	<R> PaginationDto<R> paginationUserGrUsBy1ForMappedObjectList(final Class<R> mappedClass,
			UserGrUsDto paginationUserGrUs);

	/**
	 * 分页
	 * 
	 * @param paginationUserGrUs
	 *            用户组与用户对象
	 * 
	 * @return 用户组与用户分页对象
	 */
	PaginationDto<Map<String, Object>> paginationUserGrUsBy1ForMapList(UserGrUsDto paginationUserGrUs);

	/**
	 * 插入:用户组与用户日志
	 * 
	 * @param insertUserGrUsLo
	 *            用户组与用户日志对象
	 * 
	 * @param insertProperties
	 *            插入属性名集合
	 * 
	 * @return 影响行数
	 */
	int insertUserGrUsLoBy1(UserGrUsLoDto insertUserGrUsLo, String... insertProperties);

	/**
	 * 删除:用户组与用户日志
	 * 
	 * @param deleteUserGrUsLo
	 *            用户组与用户日志对象
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int deleteUserGrUsLoBy1(UserGrUsLoDto deleteUserGrUsLo, String... whereEqProperties);

	/**
	 * 更新:用户组与用户日志
	 * 
	 * @param updateUserGrUsLo
	 *            用户组与用户日志对象
	 * 
	 * @param updateProperties
	 *            更新的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 影响行数
	 */
	int updateUserGrUsLoBy1(UserGrUsLoDto updateUserGrUsLo, String[] updateProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与用户日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrUsLo
	 *            用户组与用户日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrUsLoBy1ForObject(Class<R> requiredType, UserGrUsLoDto selectUserGrUsLo, String objectId,
			String... whereEqProperties);

	/**
	 * 查询:用户组与用户日志
	 * 
	 * @param requiredType
	 *            返回类型
	 * 
	 * @param selectUserGrUsLo
	 *            用户组与用户日志对象
	 * 
	 * @param objectId
	 *            返回对象标识
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与用户日志对象集合
	 */
	<R> List<R> selectUserGrUsLoBy1ForObjectList(Class<R> requiredType, UserGrUsLoDto selectUserGrUsLo,
			String objectId, String... whereEqProperties);

	/**
	 * 查询:用户组与用户日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrUsLo
	 *            用户组与用户日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 返回对象
	 */
	<R> R selectUserGrUsLoBy1ForMappedObject(Class<R> mappedClass, UserGrUsLoDto selectUserGrUsLo,
			String[] selectProperties, String... whereEqProperties);

	/**
	 * 查询:用户组与用户日志
	 * 
	 * @param mappedClass
	 *            返回类型
	 * 
	 * @param selectUserGrUsLo
	 *            用户组与用户日志对象
	 * 
	 * @param selectProperties
	 *            查询的属性名集合
	 * 
	 * @param whereEqProperties
	 *            条件为等于的属性名集合
	 * 
	 * @return 用户组与用户日志对象集合
	 */
	<R> List<R> selectUserGrUsLoBy1ForMappedObjectList(Class<R> mappedClass, UserGrUsLoDto selectUserGrUsLo,
			String[] selectProperties, String... whereEqProperties);
}